package com.itdct.onflow.core.config.onflow

import com.itdct.onflow.core.config.onflow.file.MinioConfig
import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.stereotype.Component

/**
 * @author Zhouwx
 * @date 2025/9/23 17:46:50
 * @version 1.0
 * @description
 */
@Component
@ConfigurationProperties(prefix = "onflow.file")
class FileConfig {
    /**
     * 本地存储路径
     */
    var localPath = ""

    /**
     * 存储类型
     * @see com.itdct.onflow.core.constant.FileStoreTypeConst
     */
    var containerType = ""

    /**
     * 存储桶名称
     */
    var bucketName = ""

    /**
     * 存储路径是否包含日期（通过日期分隔文件，防止一个模块下存在大量文件）
     */
    var datePath = true

    /**
     * 低级文件保存时间（天）
     */
    var lowGradeFileKeepTime = 365

//    /**
//     * 文件上传后是否删除本地文件
//     */
//    var deleteAfterUpload = true

    /**
     * minio配置，当containerType为minio时，该配置项有效
     */
    var minio = MinioConfig()

}